Typical electronic commerce sessions consist of a user at a client device accessing an electronic commerce World Wide Web site that provides products and/or services. When the user accesses the site, the client device is generally connected to one of a group of servers that provide a copy of the site to the client device. From the user's perspective the fact that multiple servers provide copies of the site is transparent.
Because multiple servers can provide copies of the electronic commerce Web site, the multiple servers often provide redundant services. For example, common searches may be performed by each server. For example, during cold season, many users may search an electronic commerce site for cold remedies. Typically, each server that receives such a search request performs the search, which may include relatively slow disk accesses. Multiple servers performing the same search multiple times is inefficient and can result in slower access for users of the electronic commerce site.
Another inefficiency that can result from having multiple servers provide an electronic commerce site is that a user may make multiple accesses within a relatively short period of time. If these user accesses are assigned to servers randomly or on a circular basis, user data may be loaded to a first server for a first access and a second server for a second access. This can also result in slower access for users because the user must wait for data to be retrieved by the second server.